﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////

#pragma once

#include "GcsTools.h"
#include "GcsLogObject.h"


namespace gmepgcs
{
    class GCS_TOOLS_EXPORTS IGcsLogger
    {
    public:        
        static IGcsLogger* Get();

        virtual void Info(const GcsLogObject &obj) = 0;
        virtual void Error(const GcsLogObject &obj) = 0;
        virtual void Warn(const GcsLogObject &obj) = 0;
        virtual void Log(const GcsLogObject &obj) = 0;

        virtual ~IGcsLogger();
    };
}
